# 欢迎来到对抗路！！！
# 现在是北京时间: 2023/8/24 16:08
# Keep and you will win！！！
import json

from data_define import TextFileRead, JsonFileReader
from file_define import Record
from pymysql import Connection
from datetime import date

text_file_read = TextFileRead("data/2011年1月销售数据.txt")
json_file_reader = JsonFileReader("data/2011年2月销售数据.json")

# 1 月份销售额
jan_data_list = text_file_read.read_data()
# 2 月份销售额
feb_data_list = json_file_reader.read_data()

# 所有销售额
data_list: list[Record] = jan_data_list + feb_data_list

# 创建数据库链接
conn = Connection(
    host='localhost',
    port=3306,
    user='root',
    password='123456',
    autocommit=True
)

# 获得游标对象
cursor = conn.cursor()
# 选择数据库
conn.select_db('my_sql')
# 插入数据
# for record in data_list:
#     sql = (f"insert into orders values('{record.date}', '{record.order_id}',"
#            f" {record.money}, '{record.province}')")
#     cursor.execute(sql)

# 将数据库的数据写入文件，my_sql.json
with open('data/my_sql.json', 'w', encoding='utf-8') as fp:
    # 从数据库中取的数据
    cursor.execute("select * from orders")
    results = cursor.fetchall()
    # print(results, type(results))
    # 定义存放从数据库读取出的数据（字典）列表
    dict_list: list[dict] = []
    for sql in results:
        # 定义一个字典，用于存储sql数据
        sql_dict = {'date': str(sql[0].strftime("%Y-%m-%d")), 'order_id': sql[1], 'money': sql[2], 'province': sql[3]}
        dict_list.append(sql_dict)
    # 将python数据转换成json数据，并写入文件
    json.dump(dict_list, fp, ensure_ascii=False)
# 关闭数据库
conn.close()

# with open('D:\DevelopmentSoftWare\pythonProject\data_visual\data\\2011年2月销售数据.json', 'r', encoding='utf8') as f:
#     for i in json.loads(f.read()):
#         print(i)




